// 公共头文件和配置文件
// Created by taojiaheng on 2020/5/27.
//

#ifndef WEBSOCKETSERVER_CDEF_H
#define WEBSOCKETSERVER_CDEF_H
#include <cstdlib>
#include <cstdio>
#include <memory.h>
#include <cstring>
#include <ctime>
#include <cerrno>
#include <sys/timerfd.h>
#include <sys/socket.h>
#include <sys/epoll.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <sys/types.h>
#include <map>
#include <pthread.h>
#include <iostream>
#include <sys/ioctl.h>
#include <vector>
#include <csignal>
#include <sys/wait.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <ctime>
#include <exception>
#include<sys/resource.h>
#include <unordered_map>
#include <hashlib++/hashlibpp.h>
typedef struct {
    char* buff;
    int buff_len;
}BUFF;
/*
 * 删除BUFF指针
 * */
#define DEL_BUFF(a) {delete[] a->buff; delete a;}

// epoll 监听的套接字数量
#define EPOLL_FD_SIZE 65535
// epoll 事件数量
#define EPOLL_EVENTS 100
// socket 等待队列数
#define SOCKET_Q 65535
// socket 每次接收数据的buff大小
#define MAX_SIZE 65535
// 定时器最大数量
#define TIMER_MAX_COUNT 65535
// 协议包最大大小
#define MAX_PACKAGE_SIZE 1048576
// 守护进程 标准输出流重定向文件路径
#define DAEMON_STDOUT_STREAM_FILE_PATH "/root/stdout.log"
// 守护进程 标准错误流重定向文件路径
#define DAEMON_STDERR_STREAM_FILE_PATH "/root/stderr.log"
#endif //WEBSOCKETSERVER_CDEF_H
